using System;

namespace Work.API.Dtos.DrugManagement
{
    /// <summary>
    /// 药品信息DTO（用于药品查看模块）
    /// </summary>
    public class DrugDto
    {
        /// <summary>
        /// 药品ID
        /// </summary>
        public int DrugId { get; set; }

        /// <summary>
        /// 药品名称
        /// </summary>
        public string DrugName { get; set; } = string.Empty;

        /// <summary>
        /// 药品类型（中药/西药）
        /// </summary>
        public string? DrugType { get; set; }

        /// <summary>
        /// 费用名称（中药费/西药费）
        /// </summary>
        public string? CostName { get; set; }

        /// <summary>
        /// 剂型（盒/袋/g等）
        /// </summary>
        public string? DosageForm { get; set; }

        /// <summary>
        /// 规格（药丸/片剂/冲剂等）
        /// </summary>
        public string? Specification { get; set; }

        /// <summary>
        /// 进价（采购价格）
        /// </summary>
        public decimal PurchasePrice { get; set; }

        /// <summary>
        /// 售价（销售价格）
        /// </summary>
        public decimal SellingPrice { get; set; }

        /// <summary>
        /// 当前库存数量
        /// </summary>
        public int Inventory { get; set; }

        /// <summary>
        /// 库存上限（最大库存量）
        /// </summary>
        public int InventoryUpperLimit { get; set; }

        /// <summary>
        /// 库存下限（最小库存量，低于此值需要补货）
        /// </summary>
        public int InventoryLowerLimit { get; set; }

        /// <summary>
        /// 功效（药品的作用和适应症）
        /// </summary>
        public string? Efficacy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 是否启用（软删除标记）
        /// </summary>
        public bool IsEnabled { get; set; } = true;
    }
}

